Skip to content

ci(tester): check translations completeness on tags and release branches only - #529

Merged
Guts merged 4 commits into
masterfrom
tooling/i18n-check-release-only
Nov 3, 2026
Merged

Guts merged 4 commits into
masterfrom
tooling/i18n-check-release-only

Conversation

@Guts

@Guts Guts commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Description

The translations completeness check (test_every_widget_string_is_translated in tests/test_ui_i18n.py) ran on every push and pull request, and failed as soon as a branch added a self.tr() string, which is expected until the translation step. It is now only enforced on tags and release/* branches.

  • tests/test_ui_i18n.py: the completeness test is skipped unless the DICOGIS_I18N_STRICT environment variable is true (default: skipped, with the reason displayed). The .qm freshness test is unchanged and still always runs.
  • .github/workflows/tester.yml: the workflow now also runs on tags and release/* branches, and sets DICOGIS_I18N_STRICT for a tag, a release/* branch, or a pull request whose source branch is release/*. Changes to dicogis/ui/i18n/* also trigger it on branches, otherwise a push touching only .ts/.qm files would not run anything. Path filters are not evaluated for pushes of tags (GitHub docs).
  • docs/development/translation.md: documents the variable and how to run the strict check locally: DICOGIS_I18N_STRICT=1 pytest tests/test_ui_i18n.py.

Heads-up: with the strict mode on, the check currently fails on master for one string without ES translation ("Fund, support"), so it has to be translated before the next release.

Related issue(s)

None.

Type of change

  • Bug fix (fix/… branch)
  • New feature or enhancement (feature/… branch)
  • Documentation (docs/… branch or *.md/docs/** changes)
  • Packaging / build (packaging/… branch or builder/** changes)
  • Tooling / CI-CD (tooling/… branch or .github/** changes)
  • Tests only (tests/** changes)

Checklist

  • I have read the Contributing Guidelines
  • pre-commit run --all-files passes locally
  • I have added or updated tests covering my changes
  • I have updated the documentation where relevant
  • pytest passes locally

Only ruff check and ruff format --check were run on the changed test file, and pytest tests/test_ui_i18n.py was run with and without DICOGIS_I18N_STRICT (skipped by default, failing on the missing ES string when enabled). The full pre-commit and pytest runs remain to be done by a human, as does the first run of the workflow on a tag or a release/* branch.

AI/LLM disclosure


Generated by Claude Code

…RICT is true

The check fails whenever a feature branch adds a self.tr() string, which is expected before the translation step. Skip it by default and let the CI enable it for releases.

AI-Level: 7
AI-Model: Claude Sonnet 5.5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CUNZAW4orsNs4vNDGpAAFx
…hes only

Run the tests on tags and release/* branches, and set DICOGIS_I18N_STRICT there (including for pull requests whose source branch is release/*). Also trigger on changes to dicogis/ui/i18n/*.

AI-Level: 7
AI-Model: Claude Sonnet 5.5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CUNZAW4orsNs4vNDGpAAFx
…eness check

AI-Level: 7
AI-Model: Claude Sonnet 5.5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CUNZAW4orsNs4vNDGpAAFx
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci-cd Everything related to continuous integration and deployment tooling quality labels Nov 2, 2026
@codecov

codecov Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.23%. Comparing base (cb82f67) to head (f0f3159).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #529      +/-   ##
==========================================
- Coverage   78.26%   78.23%   -0.03%     
==========================================
  Files          54       54              
  Lines        3469     3469              
  Branches      435      435              
==========================================
- Hits         2715     2714       -1     
  Misses        633      633              
- Partials      121      122       +1     
Flag Coverage Δ
unittests 78.17% <ø> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Guts added a commit that referenced this pull request Nov 3, 2026
## Description

The documentation builder fails in the "Install GDAL binaries" step:
`runs-on: ubuntu-latest` now resolves to Ubuntu 26.04 (resolute), and
the `ubuntugis/ubuntugis-unstable` PPA has no Release file for it, so
`apt update` ends with a 404 (seen on #529, whose docs change triggered
the workflow; the last run on `master`, on 2026-10-18, was green).

This pins the job to `ubuntu-24.04`, the runner already used by the
other workflows adding this PPA (`tester.yml`, `builder_releaser.yml`,
`tester_udata_publish.yml`) and where the same install commands succeed.
Other `ubuntu-latest` jobs (`docker_builder.yml`, the release job of
`builder_releaser.yml`, the PR labeler) do not add the PPA and are left
untouched.

## Related issue(s)

Seen on #529.

## Type of change

- [ ] Bug fix (`fix/…` branch)
- [ ] New feature or enhancement (`feature/…` branch)
- [ ] Documentation (`docs/…` branch or `*.md`/`docs/**` changes)
- [ ] Packaging / build (`packaging/…` branch or `builder/**` changes)
- [x] Tooling / CI-CD (`tooling/…` branch or `.github/**` changes)
- [ ] Tests only (`tests/**` changes)

## Checklist

- [ ] I have read the [Contributing Guidelines](/CONTRIBUTING.md)
- [ ] `pre-commit run --all-files` passes locally
- [ ] I have added or updated tests covering my changes
- [ ] I have updated the documentation where relevant
- [ ] `pytest` passes locally

One-line workflow change: the check is the "Documentation Builder" run
of this very pull request, as the workflow file is in its path filter.

## AI/LLM disclosure

- Level: 7 (human specced, bots coded)
- Model: Claude Sonnet 5.5
- Session: https://claude.ai/code/session_01CUNZAW4orsNs4vNDGpAAFx

---
_Generated by [Claude
Code](https://claude.ai/code/session_01CUNZAW4orsNs4vNDGpAAFx)_
@sonarqubecloud

sonarqubecloud Bot commented Nov 3, 2026

Copy link
Copy Markdown

@Guts
Guts merged commit d036908 into master Nov 3, 2026
17 checks passed
@Guts
Guts deleted the tooling/i18n-check-release-only branch November 3, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-cd Everything related to continuous integration and deployment documentation Improvements or additions to documentation quality tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants